Skip to content

chore(deps): update dependency phpunit/phpunit to v12 #175

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Jul 24, 2025

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented Feb 7, 2025

This PR contains the following updates:

Package Change Age Confidence
phpunit/phpunit (source) ^11.0 -> ^12.0 age confidence

Release Notes

sebastianbergmann/phpunit (phpunit/phpunit)

v12.2.7: PHPUnit 12.2.7

Compare Source

Fixed
  • #​6254: defects,randomconfiguration is supported by implementation, but it is not allowed by the XML configuration file schema
  • #​6259: Order of tests which use data from data providers is not affected by test sorting
  • #​6266: Superfluous whitespace in TestDox output when test method name has a number after the test prefix

How to install or update PHPUnit

v12.2.6: PHPUnit 12.2.6

Compare Source

Fixed
  • #​6104: Test with dependencies and data provider fails
  • #​6163: @no-named-arguments leads to static analysis errors for variadic arguments

How to install or update PHPUnit

v12.2.5: PHPUnit 12.2.5

Compare Source

Fixed
  • #​6249: No meaningful error when <testsuite> element is missing required name attribute

How to install or update PHPUnit

v12.2.4: PHPUnit 12.2.4

Compare Source

Changed
  • Including information about the Git repository (such as the commit hash and branch name) in the Open Test Reporting XML format is now an opt-in feature that can be enabled via the --include-git-information CLI option or the includeGitInformation attribute in the XML configuration file

How to install or update PHPUnit

v12.2.3: PHPUnit 12.2.3

Compare Source

Added
  • #​6236: failOnPhpunitWarning attribute on the <phpunit> element of the XML configuration file and --fail-on-phpunit-warning CLI option for controlling whether PHPUnit should fail on PHPUnit warnings (default: true)
  • #​6239: --do-not-fail-on-deprecation, --do-not-fail-on-phpunit-warning, --do-not-fail-on-phpunit-deprecation, --do-not-fail-on-empty-test-suite, --do-not-fail-on-incomplete, --do-not-fail-on-notice, --do-not-fail-on-risky, --do-not-fail-on-skipped, and --do-not-fail-on-warning CLI options
  • --do-not-report-useless-tests CLI option as a replacement for --dont-report-useless-tests
Deprecated
  • --dont-report-useless-tests CLI option (use --do-not-report-useless-tests instead)
Fixed
  • #​6243: Constraints cannot be implemented without using internal class ExpectationFailedException

How to install or update PHPUnit

v12.2.2: PHPUnit 12.2.2

Compare Source

Fixed
  • #​6222: Data Provider seems to mess up Test Dependencies
  • shortenArraysForExportThreshold XML configuration setting has no effect on all arrays exported for event-related value objects

How to install or update PHPUnit

v12.2.1: PHPUnit 12.2.1

Compare Source

Fixed
  • #​6228: Variadic test methods should not warn about too many arguments from data provider

How to install or update PHPUnit

v12.2.0: PHPUnit 12.2.0

Compare Source

Added
Experimental Support for Open Test Reporting XML

PHPUnit has supported reporting test results in the JUnit XML format for a long time. Unfortunately, there has never been a standard schema for the JUnit XML format. Common consumers of Clover XML log files interpret these files differently, which has led to frequent problems.

To address this, the JUnit team started the Open Test Reporting project, creating and maintaining language-agnostic XML and HTML test reporting formats. Unlike JUnit XML, Open Test Reporting's XML formats are extensible.

Logging in the Open Test Reporting XML format is controlled by the new --log-otr CLI option and the new <otr> XML configuration element.

This feature is experimental and the generated XML may change in order to enhance compliance with the Open Test Reporting project's XML schema definitions. The same applies to the XML schema definitions for information that is specific for PHP and PHPUnit. Please note that such changes may occur in bugfix or minor releases and could potentially break backwards compatibility.

Experimental Support for OpenClover XML

PHPUnit has supported reporting code coverage information in the Clover XML format for a long time. Unfortunately, there has never been a standard schema for the Clover XML format. Common consumers of Clover XML log files interpret these files differently, which leads to frequent problems.

The original commercial Clover project has been superseded by the Open Source OpenClover project, which provides an XML schema for its OpenClover XML format. Rather than modifying the existing Clover XML reporter to comply with the OpenClover XML schema, thereby breaking backward compatibility, a new OpenClover XML reporter has been introduced.

This new reporter is controlled by the new CLI option, --coverage-openclover, and the new XML configuration element, <openclover>. This code coverage reporter generates XML documents that validate against the OpenClover project's XML schema definition, with one exception: the <testproject> element is not generated.

The existing Clover XML reporter, controlled by the --coverage-clover CLI option and the <clover> XML configuration element, remains unchanged.

This feature is experimental and the generated XML may change to enhance compliance with the OpenClover XML schema definition. Please note that such changes may occur in bugfix or minor releases and could potentially break backwards compatibility.

Miscellaneous
  • --with-telemetry CLI option that can be used together with --debug to print debugging information that includes telemetry information
  • The TestCase::provideAdditionalInformation() method can now be used to emit a Test\AdditionalInformationProvided event
  • The new Test\AfterLastTestMethodFailed, Test\AfterTestMethodFailed, Test\BeforeFirstTestMethodFailed, Test\BeforeTestMethodFailed, Test\PostConditionFailed, Test\PreConditionFailed events are now emitted instead of Test\AfterLastTestMethodErrored, Test\AfterTestMethodErrored, Test\BeforeFirstTestMethodErrored, Test\BeforeTestMethodErrored, Test\PostConditionErrored, Test\PreConditionErrored when the Throwable extends AssertionFailedError to distinguish between errors and failures triggered in hook methods
  • The new Test\PreparationErrored event is now emitted instead of Test\PreparationFailed when the Throwable does not extend AssertionFailedError to distinguish between errors and failures triggered during test preparation
  • Test\PreparationFailed::throwable()
Changed
  • #​6165: Collect deprecations triggered by autoloading while loading/building the test suite
  • Do not treat warnings differently than other issues in summary section of default output
  • A warning is now emitted when both #[CoversNothing] and #[Covers*] (or #[Uses*]) are used on a test class
  • A warning is now emitted when the same #[Covers*] (or #[Uses*]) attribute is used multiple times on a test class
  • A warning is now emitted when the same code is targeted by both #[Covers*] and #[Uses*] attributes
  • A warning is now emitted when a hook method such as setUp(), for example has a #[Test] attribute
  • A warning is now emitted when more than one of #[Small], #[Medium], or #[Large] is used on a test class
  • A warning is now emitted when a data provider provides data sets that have more values than the test method consumes using arguments

How to install or update PHPUnit

v12.1.6: PHPUnit 12.1.6

Compare Source

Changed
  • #​6210: Set default Clover coverage project name
  • #​6217: Improve the error message when createStubForIntersectionOfInterfaces() is called with a class

How to install or update PHPUnit

v12.1.5: PHPUnit 12.1.5

Compare Source

Fixed
  • #​6192: Reverted change made in PHPUnit 11.5.19 due to regression
  • #​6199: assertEmpty() and assertNotEmpty() use overly restrictive phpstan-assert empty directives

How to install or update PHPUnit

v12.1.4: PHPUnit 12.1.4

Compare Source

Added
  • displayDetailsOnAllIssues attribute on the <phpunit> element of the XML configuration file and --display-all-issues CLI option for controlling whether PHPUnit should display details on all issues that are triggered (default: false)
  • failOnAllIssues attribute on the <phpunit> element of the XML configuration file and --fail-on-all-issues CLI option for controlling whether PHPUnit should fail on all issues that are triggered (default: false)
Changed
  • #​5956: Improved handling of deprecated E_STRICT constant
Fixed
  • #​6192: Positive %a and %A matches are not ignored from diff when EXPECTF fails

How to install or update PHPUnit

v12.1.3: PHPUnit 12.1.3

Compare Source

Changed
  • When gathering the telemetry information that each event has, the real size of memory allocated from the operating system is no longer used as this is grown by PHP's memory manager in chunks that are so large that small(er) increases in peak memory usage cannot be seen
  • The peak memory usage returned by memory_get_peak_usage() is now reset immediately before the Test\Prepared event is emitted using memory_reset_peak_usage() so that (memory usage at Test\Finished - memory usage at Test\Prepared) is a better approximation of the memory usage of the test
  • The string representation of Telemetry\Info now uses peak memory usage instead of memory usage (this affects --log-events-verbose-text)
Fixed
  • #​6173: Output from error_log() is not displayed when test fails
  • A "Before Test Method Errored" event is no longer emitted when a test is skipped in a "before test" method

How to install or update PHPUnit

v12.1.2: PHPUnit 12.1.2

Compare Source

Fixed
  • #​6104: Reverted change introduced in PHPUnit 12.1.1

How to install or update PHPUnit

v12.1.1: PHPUnit 12.1.1

Compare Source

Fixed
  • #​6104: Test with dependencies and data provider fails
  • #​6174: willReturnMap() fails with nullable parameters when their default is null and no argument is passed for them

How to install or update PHPUnit

v12.1.0: PHPUnit 12.1.0

Compare Source

Added
  • #​6118: expectErrorLog() for expecting error_log() output
  • #​6126: Attribute #[WithEnvironmentVariable] for setting an environment variable for the duration of a test
  • The AfterTestMethodCalled, AfterTestMethodErrored, AfterTestMethodFinished, BeforeTestMethodCalled, BeforeTestMethodErrored, BeforeTestMethodFinished, PostConditionCalled, PostConditionErrored, PostConditionFinished, PreConditionCalled, PreConditionErrored, and PreConditionFinished event value objects now have test() method that returns a value object representing the test method for which the hook method was called
Changed
  • When code coverage processing is requested and no static analysis cache directory has been configured then a cache directory in the operating system's path used for temporary files is automatically created and used
  • The static analysis of first-party source files required for the code coverage functionality is now performed before the first test is run, if code coverage processing is requested (via the XML configuration file and/or CLI options), all first-party source files are configured to be processed (which is the default), and a static analysis cache directory is available (either explicitly configured or automatically determined, see above). This has the same effect as running phpunit --warm-coverage-cache before running tests.
Deprecated
  • #​6140: The testClassName() method on the AfterTestMethodCalled, AfterTestMethodErrored, AfterTestMethodFinished, BeforeTestMethodCalled, BeforeTestMethodErrored, BeforeTestMethodFinished, PostConditionCalled, PostConditionErrored, PostConditionFinished, PreConditionCalled, PreConditionErrored, and PreConditionFinished event value objects (use test()->className() instead)

How to install or update PHPUnit

v12.0.10: PHPUnit 12.0.10

Compare Source

Changed
  • #​6150: Reverted change introduced in PHPUnit 12.0.8

How to install or update PHPUnit

v12.0.9: PHPUnit 12.0.9

Compare Source

Fixed
  • #​6154: Method with() on test doubles yields error with static analyzer

How to install or update PHPUnit

v12.0.8: PHPUnit 12.0.8

Compare Source

Changed
  • #​6150: Trigger warning when code coverage analysis is performed and no cache directory is configured

How to install or update PHPUnit

v12.0.7: PHPUnit 12.0.7

Compare Source

Fixed
  • #​5976: TestDox result printer does not display details about errors triggered in before-first-test and after-last-test methods

How to install or update PHPUnit

v12.0.6: PHPUnit 12.0.6

Compare Source

Fixed
  • #​6142: $expected and $actual are mixed up in failure description when assertJsonFileEqualsJsonFile() fails

How to install or update PHPUnit

v12.0.5: PHPUnit 12.0.5

Compare Source

Fixed
  • #​6138: Test with failed expectation on value passed to mocked method is incorrectly considered risky

How to install or update PHPUnit

v12.0.4: PHPUnit 12.0.4

Compare Source

Fixed
  • #​6134: Missing event when child process ends unexpectedly

How to install or update PHPUnit

v12.0.3: PHPUnit 12.0.3

Compare Source

Changed
  • TestCase::__construct() is now declared final (it was annotated with @final before and the announced changed from @final to final for PHPUnit 12 was forgotten)
Fixed
  • #​5951: Restore the includeUncoveredFiles configuration option
  • #​6133: Precision loss in aggregated test suite execution time(s) reported by JUnit XML logger
  • A Test\PreparationFailed event is now emitted in addition to a Test\Errored event when an unexpected exception is triggered in a before-test method
  • A Test\Passed event is no longer emitted in addition to a Test\Failed or Test\Errored event when an assertion failure or an unexpected exception is triggered in an after-test method
  • A TestSuite\Finished event is now emitted when a before-first-test method errors

How to install or update PHPUnit

v12.0.2: PHPUnit 12.0.2

Compare Source

Changed
  • Updated dependencies for PHAR distribution

How to install or update PHPUnit

v12.0.1: PHPUnit 12.0.1

Compare Source

Fixed
  • Deprecation message for Assert::isType(), assertContainsOnly(), assertNotContainsOnly(), and containsOnly()

How to install or update PHPUnit

v12.0.0: PHPUnit 12.0.0

Compare Source

Added
  • #​5984: #[CoversClassesThatExtendClass] and #[UsesClassesThatExtendClass]
  • #​5985: #[CoversClassesThatImplementInterface] and #[UsesClassesThatImplementInterface]
  • #​6073: #[CoversNamespace] and #[UsesNamespace]
  • #​6074: #[RequiresEnvironmentVariable]
Changed
  • #​5872: The default value for shortenArraysForExportThreshold is now 10 (limit export of arrays to 10 levels) instead of 0 (do not limit export of arrays)
Deprecated
  • #​6053: Assert::isType() (was soft-deprecated in PHPUnit 11.5)
  • #​6056: assertContainsOnly() (was soft-deprecated in PHPUnit 11.5)
  • #​6056: assertNotContainsOnly() (was soft-deprecated in PHPUnit 11.5)
  • #​6060: containsOnly() (was soft-deprecated in PHPUnit 11.5)
Removed
  • #​5215: TestCase::iniSet()
  • #​5217: TestCase::setLocale()
  • #​5246: TestCase::createTestProxy()
  • #​5247: TestCase::getMockForAbstractClass()
  • #​5248: TestCase::getMockFromWsdl()
  • #​5249: TestCase::getMockForTrait()
  • #​5250: TestCase::getObjectForTrait()
  • #​5310: MockBuilder::enableAutoload() and MockBuilder::disableAutoload()
  • #​5311: MockBuilder::allowMockingUnknownTypes() and MockBuilder::disallowMockingUnknownTypes()
  • #​5312: MockBuilder::enableProxyingToOriginalMethods(), MockBuilder::disableProxyingToOriginalMethods(), and MockBuilder::setProxyTarget()
  • #​5313: MockBuilder::getMockForTrait()
  • #​5314: MockBuilder::getMockForAbstractClass()
  • #​5316: MockBuilder::enableArgumentCloning() and MockBuilder::disableArgumentCloning()
  • #​5321: MockBuilder::addMethods()
  • #​5416: Support for doubling interfaces (or classes) that have a method named method
  • #​5424: TestCase methods for creating return stub configuration objects
  • #​5473: assertStringNotMatchesFormat() and assertStringNotMatchesFormatFile()
  • #​5536: Support for configuring expectations using expects() on test stubs
  • #​5541: Support for metadata in doc-comments
  • #​5710: Support for using comma-separated values with the --group, --exclude-group, --covers, --uses, and --test-suffix CLI options
  • #​5756: Support for the restrictDeprecations attribute on the <source> element of the XML configuration file
  • #​5801: Support for targeting traits with #[CoversClass] and #[UsesClass] attributes
  • #​5978: Support for PHP 8.2

How to install or update PHPUnit


Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate renovate bot assigned simPod Feb 7, 2025
@renovate renovate bot force-pushed the renovate/phpunit-phpunit-12.x branch from 3a4ca2e to 315a0fe Compare July 24, 2025 09:57
Copy link

coderabbitai bot commented Jul 24, 2025

Important

Review skipped

Bot user detected.

To trigger a single review, invoke the @coderabbitai review command.

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.


🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Explain this complex logic.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai explain this code block.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read src/utils.ts and explain its main purpose.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

Support

Need help? Join our Discord community for assistance with any issues or questions.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

CodeRabbit Commands (Invoked using PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai generate sequence diagram to generate a sequence diagram of the changes in this PR.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

Copy link

codecov bot commented Jul 24, 2025

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 95.00%. Comparing base (e8a2f6a) to head (315a0fe).
Report is 2 commits behind head on 0.7.x.

Additional details and impacted files
@@           Coverage Diff           @@
##            0.7.x     #175   +/-   ##
=======================================
  Coverage   95.00%   95.00%           
=======================================
  Files          10       10           
  Lines         180      180           
=======================================
  Hits          171      171           
  Misses          9        9           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@simPod simPod merged commit 96fdb72 into 0.7.x Jul 24, 2025
10 checks passed
@simPod simPod deleted the renovate/phpunit-phpunit-12.x branch July 24, 2025 09:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant